package a.f.j;

import a.c.d;
import a.c.e;
import a.c.m;
import a.c.q;
import a.c.y;
import a.c.z;

public class i
{
  private cb a;
  private q c;
  public static boolean d;
  
  public i(cb paramcb)
  {
    this.a = paramcb;
    this.c = paramcb.a();
  }
  
  public a.c.ab a(a.c.ab paramab, d paramd)
  {
    return a(paramab, null, null, paramd);
  }
  
  public a.c.ab a(a.c.ab paramab, d paramd1, d paramd2, d paramd3)
  {
    boolean bool = ab.g;
    int i = ab.f;
    if (!bool)
    {
      if (paramd3.e() == paramd3.f())
      {
        this.c.g(paramd3);
        this.a.b(null, paramd3);
        this.a.e();
      }
    }
    else
    {
      localObject1 = new a.c.ab();
      ((a.c.ab)localObject1).add(paramd3);
      return localObject1;
    }
    if (!bool) {
      if (paramab == null) {
        return a(paramd1, paramd2, paramd3);
      }
    }
    if ((bool) || (paramab.size() == 0)) {
      return b(paramd1, paramd2, paramd3);
    }
    Object localObject1 = paramd3.e();
    e locale1 = paramd3.f();
    d locald1 = paramd1;
    d locald2 = paramd2;
    Object localObject2 = null;
    d locald3 = null;
    a.c.ab localab1 = new a.c.ab();
    Object localObject3 = localObject1;
    if (!bool) {
      if (paramd1 != null)
      {
        localObject2 = this.a.c(paramd1);
        break label234;
      }
    }
    Object localObject4 = paramab.m();
    if (!bool) {
      if (this.a.c((d)localObject4).a(localObject3))
      {
        localObject2 = this.a.c((d)localObject4);
        break label234;
      }
    }
    localObject2 = this.a.c(this.a.b((d)localObject4));
    label234:
    localObject4 = paramab.l();
    label378:
    label380:
    do
    {
      do
      {
        if (!((m)localObject4).e()) {
          break;
        }
        d locald4 = ((m)localObject4).a();
        if (i != 0) {
          break label695;
        }
        if (this.a.h(locald4)) {
          locald4 = this.a.b(locald4);
        }
        e locale2 = this.a.l(locald4);
        a.c.ab localab2 = new a.c.ab(locale2.m());
        a.c.ab localab3 = new a.c.ab(locale2.n());
        if (locald4 == locald1)
        {
          break label530;
          if (bool) {
            break label378;
          }
          locald1 = localab3.m();
          if (i == 0) {}
        }
        else
        {
          if (bool) {
            break label380;
          }
          if (this.a.b(locald4) == locald1) {
            locald1 = localab3.n();
          }
        }
        if (!bool)
        {
          if (locald4 == locald2)
          {
            locald2 = localab3.m();
            if (bool) {
              break label451;
            }
            if (i == 0) {}
          }
          else
          {
            if (bool) {
              break label442;
            }
          }
        }
        else if (this.a.b(locald4) == locald2) {
          locald2 = localab3.n();
        }
        locald3 = this.c.a(localObject3, locale2);
        localab1.add(locald3);
        this.a.a((n)localObject2, locald3, locald1, null);
        locald1 = null;
        localObject2 = null;
        m localm1 = localab2.l();
        do
        {
          do
          {
            if (!localm1.e()) {
              break label627;
            }
            if ((!bool) && (localObject2 != null)) {
              break label627;
            }
            n localn = this.a.c(localm1.a());
            m localm2 = localn.a();
            do
            {
              if (!localm2.e()) {
                break label570;
              }
              if (i != 0) {
                break;
              }
              if (localm2.a() == localm1.a()) {
                break label570;
              }
              localm2.f();
            } while (i == 0);
            localm2.b();
            if (bool) {
              break;
            }
            if (!bool)
            {
              if (localab3.contains(localm2.a()))
              {
                locald1 = localm1.a();
                localObject2 = localn;
              }
              localm1.f();
            }
          } while (i == 0);
          localObject3 = locale2;
          ((m)localObject4).f();
        } while (bool);
      } while (i == 0);
      locald3 = this.c.a(localObject3, locale1);
    } while (bool);
    label442:
    label451:
    label627:
    localab1.add(locald3);
    label530:
    label570:
    this.a.a((n)localObject2, locald3, locald1, locald2);
    label695:
    localObject4 = new d[localab1.size()];
    this.a.a(paramd3, (d[])localab1.toArray((Object[])localObject4));
    this.a.a(paramd3, localab1, 0);
    return localab1;
  }
  
  protected a.c.ab a(d paramd1, d paramd2, d paramd3)
  {
    a.c.ab localab = new a.c.ab();
    this.c.g(paramd3);
    this.a.a(paramd3, paramd1, paramd2);
    localab.add(paramd3);
    return localab;
  }
  
  protected a.c.ab b(d paramd1, d paramd2, d paramd3)
  {
    boolean bool = ab.g;
    int i = ab.f;
    a.c.ab localab = new a.c.ab();
    m localm1 = null;
    e locale1 = paramd3.e();
    e locale2 = paramd3.f();
    this.c.g(paramd3);
    z localz = new z();
    n localn1 = null;
    label305:
    if ((bool) || ((paramd1 != null) || ((bool) || (paramd2 != null))))
    {
      if (paramd1 != null) {
        localn1 = this.a.c(paramd1);
      } else {
        localn1 = this.a.c(paramd2);
      }
    }
    else
    {
      e locale3 = locale2;
      e locale4 = locale1;
      if (!bool) {
        if (locale1.e() < locale2.e())
        {
          locale3 = locale1;
          locale4 = locale2;
        }
      }
      m localm2 = locale3.n();
      if (localm2.e())
      {
        if (i != 0) {
          break label211;
        }
        if (localm2.a() == paramd3) {}
      }
      while (bool)
      {
        localz.add(this.a.c(localm2.a()));
        localm2.f();
        if (i == 0) {
          break;
        }
      }
      label211:
      y localy = localz.h();
      label254:
      do
      {
        if (!localy.e()) {
          break;
        }
        do
        {
          break label254;
          n localn2 = (n)localy.j();
          if (i != 0) {
            break;
          }
          localm1 = localn2.a();
          do
          {
            if (!localm1.e()) {
              break label305;
            }
            if (i != 0) {
              break;
            }
            if (localm1.a().f() == locale4) {
              localn1 = this.a.c(localm1.a());
            }
            localm1.f();
          } while (i == 0);
          localy.f();
        } while (bool);
      } while (i == 0);
    }
    if (!bool)
    {
      if (localn1 == null)
      {
        this.c.f(paramd3);
        throw new RuntimeException("No common face found !");
      }
      this.a.a(localn1, paramd3, paramd1, paramd2);
      localab.add(paramd3);
    }
    return localab;
  }
}


/* Location:           E:\idea\
 * Qualified Name:     a.f.j.i
 * JD-Core Version:    0.7.0.1
 */